#ifndef _ASYN_DEVICE_H_
#define _ASYN_DEVICE_H_

interface IIoDevice : public IBase
{
	std_method(ReadIo)(IIoOperation* pOperation)							= 0;
	std_method(WriteIo)(IIoOperation* pOperation)							= 0;
	std_method(ReadAllIo)(IIoOperation* pOperation)							= 0;
	std_method(WriteAllIo)(IIoOperation* pOperation)						= 0;
	std_method(ConnectIo)(IIoOperation* pOperation)							= 0;
	std_method(AcceptConnect)(IIoOperation* pOperation)						= 0;
	std_method(CloseIo)()													= 0;
	std_method(OpenIo)()													= 0;
	std_method(BindIo)()													= 0;
};

_DEFINE_IID(IIoDevice, "{0E894943-2B92-40F5-B4D4-7D960DF6D986}");

#endif